mruby 4.0.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
variable.h
Go to the documentation of this file.
1
6
7#ifndef MRUBY_VARIABLE_H
8#define MRUBY_VARIABLE_H
9
10#if defined(__GNUC__) || defined(__clang__)
11#define MRB_MEM_PREFETCH(addr) __builtin_prefetch(addr, 0, 1)
12#else
13#define MRB_MEM_PREFETCH(addr)
14#endif
15
16#include "common.h"
17
22
24MRB_API void mrb_const_set(mrb_state*, mrb_value, mrb_sym, mrb_value);
25MRB_API mrb_bool mrb_const_defined(mrb_state*, mrb_value, mrb_sym);
26MRB_API void mrb_const_remove(mrb_state*, mrb_value, mrb_sym);
27
28MRB_API mrb_bool mrb_iv_name_sym_p(mrb_state *mrb, mrb_sym sym);
29MRB_API void mrb_iv_name_sym_check(mrb_state *mrb, mrb_sym sym);
30MRB_API mrb_value mrb_obj_iv_get(mrb_state *mrb, struct RObject *obj, mrb_sym sym);
31MRB_API void mrb_obj_iv_set(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v);
32MRB_API mrb_bool mrb_obj_iv_defined(mrb_state *mrb, struct RObject *obj, mrb_sym sym);
33MRB_API mrb_value mrb_iv_get(mrb_state *mrb, mrb_value obj, mrb_sym sym);
34MRB_API void mrb_iv_set(mrb_state *mrb, mrb_value obj, mrb_sym sym, mrb_value v);
35MRB_API mrb_bool mrb_iv_defined(mrb_state*, mrb_value, mrb_sym);
36MRB_API mrb_value mrb_iv_remove(mrb_state *mrb, mrb_value obj, mrb_sym sym);
37MRB_API void mrb_iv_copy(mrb_state *mrb, mrb_value dst, mrb_value src);
38MRB_API mrb_bool mrb_const_defined_at(mrb_state *mrb, mrb_value mod, mrb_sym id);
39
59
78MRB_API void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val);
79
96
97MRB_API mrb_value mrb_cv_get(mrb_state *mrb, mrb_value mod, mrb_sym sym);
98MRB_API void mrb_mod_cv_set(mrb_state *mrb, struct RClass * c, mrb_sym sym, mrb_value v);
99MRB_API void mrb_cv_set(mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v);
100MRB_API mrb_bool mrb_cv_defined(mrb_state *mrb, mrb_value mod, mrb_sym sym);
101
102/* return non zero to break the loop */
103typedef int (mrb_iv_foreach_func)(mrb_state*,mrb_sym,mrb_value,void*);
104MRB_API void mrb_iv_foreach(mrb_state *mrb, mrb_value obj, mrb_iv_foreach_func *func, void *p);
105
107
108#endif /* MRUBY_VARIABLE_H */
mruby Symbol.
mruby common platform definition"
#define MRB_END_DECL
End declarations in C mode.
Definition common.h:28
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition common.h:26
#define MRB_API
Declare a public mruby API function.
Definition common.h:108
Class class.
Definition class.h:17
Definition object.h:34
Definition mruby.h:280
Definition boxing_nan.h:40
void mrb_gv_remove(mrb_state *mrb, mrb_sym sym)
Remove a global variable.
Definition variable.c:1638
void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val)
Set a global variable.
Definition variable.c:1619
mrb_value mrb_const_get(mrb_state *, mrb_value, mrb_sym)
Functions to access mruby variables.
Definition variable.c:1366
mrb_value mrb_gv_get(mrb_state *mrb, mrb_sym sym)
Get a global variable.
Definition variable.c:1599